 
 


 
 
 
  
/* Can social welfare buy mass loyalty  */
/* Wenhui Yang, Xiaoxiao Shen       */
/* Sep 29, 2020                            				  */
/* Replication code for all tables */




clear
graph drop _all
set matsize 5000
set more off




use "NRPP201912.dta"
 
sort pid year
xtset pid year



		
	
 
**********************************************************************
**Table 1 indivudla and year fixed effect
*********************************************************************


eststo clear
foreach y of varlist trustcadre1 perfm satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {					 
xi:xtreg  `y' NRPP marriage gender party logperincome  i.year , fe cluster(pid)
eststo 

}					 
esttab,    se(3) b(3) star(* .1 ** .05 *** .01) tex r2

eststo clear





**********************************************************************
**Table 2 outcome across different bandwidth
*********************************************************************
					 


***50-70
eststo clear	
foreach y of varlist  trustcadre1  perfm satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=70&age>=50,  r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear



***51-69

foreach y of varlist  trustcadre1  perfm satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   if age<=69&age>=51, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear	


***52-68

foreach y of varlist  trustcadre1  perfm satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=68&age>=52, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear	


***53-67

foreach y of varlist  trustcadre1  perfm satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   if age<=67&age>=53, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear	



**54-66
	
foreach y of varlist trustcadre1 perfm  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {


 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=66&age>=54, r cluster(pid) 
eststo
}					 

esttab,   keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear	



**55-65
	
foreach y of varlist trustcadre1 perfm  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {


 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=65&age>=55, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear



**56-64
	
foreach y of varlist trustcadre1 perfm  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {


 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   if age<=64&age>=56, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear






**********************************************************************
**Appendix
*********************************************************************
		
		
***************************************************
*****Table A1 Summary statistics for survey data
**************************************************


**CFPS Summary statistics
use "NRPP201912.dta"
sutex NRPP trustcadre1 perfm satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp age agedummy party marriage  logperincome gender , minmax
	
	
	
**CGSS 2010, Summary statistics
use "CGSS2010.dta", clear
 sutex NRPP1 agedummy age trust_local  trust_central trust_cadre   if age>=40&age<=80, minmax


		
		
		
*******************************************************************************
*** Table A3 Summary statistics for county-level variables
******************************************************************************

use "countysimple.dta",clear

sutex logdeath disaster sulfur  slope allconflict resources logpop1966 revo_base logparty1966 if matched==1, minmax


 
 
 
*******************************************************************************
*** Table A4 Determinant of cultural revolution intensity
******************************************************************************

use "countysimple.dta",clear



xi: reg logdeath disaster if matched==1,r cluster(prov)
eststo
xi: reg logdeath disaster sulfur  slope allconflict resources  logpop1966 revo_base logparty1966 if matched==1,r cluster(prov)
eststo
 xi: reg logdeath disaster sulfur  slope allconflict resources logpop1966 revo_base logparty1966 i.prov if matched==1,r cluster(prov)
eststo 
esttab, keep( slope allconflict resources sulfur disaster logpop1966 revo_base logparty1966) se(3) b(3) star(* .1 ** .05 *** .01) r2 tex
eststo clear



 
	


 
***************************************************
*****Table A5 Covariate continuity tests
**************************************************
use "NRPP201912.dta"
 
 
****50-70

eststo clear
xi: ivreg2  marriage (NRPP =agedummy )    agediff  agediff_agedummy      if age<=70&age>=50, r cluster(pid)  first
eststo
xi: ivreg2  gender (NRPP =agedummy )    agediff  agediff_agedummy if age<=70&age>=50, r cluster(pid)  first
eststo
xi: ivreg2  party (NRPP =agedummy )    agediff  agediff_agedummy    if age<=70&age>=50, r cluster(pid)  first
eststo
xi: ivreg2  logperincome (NRPP =agedummy )    agediff  agediff_agedummy   if age<=70&age>=50, r cluster(pid)  first
eststo

esttab, keep (NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex 

eststo clear	


***51-69
eststo clear
xi: ivreg2  marriage (NRPP =agedummy )    agediff  agediff_agedummy      if age<=69&age>=51, r cluster(pid)  first
eststo
xi: ivreg2  gender (NRPP =agedummy )    agediff  agediff_agedummy  if age<=69&age>=51, r cluster(pid)  first
eststo
xi: ivreg2  party (NRPP =agedummy )    agediff  agediff_agedummy     if age<=69&age>=51, r cluster(pid)  first
eststo
xi: ivreg2  logperincome (NRPP =agedummy )    agediff  agediff_agedummy    if age<=69&age>=51, r cluster(pid)  first
eststo

esttab, keep (NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex 

eststo clear	


**52-68
eststo clear
xi: ivreg2  marriage (NRPP =agedummy )    agediff  agediff_agedummy      if age<=68&age>=52, r cluster(pid)  first
eststo
xi: ivreg2  gender (NRPP =agedummy )    agediff  agediff_agedummy   if age<=68&age>=52, r cluster(pid)  first
eststo
xi: ivreg2  party (NRPP =agedummy )    agediff  agediff_agedummy     if age<=68&age>=52, r cluster(pid)  first
eststo
xi: ivreg2  logperincome (NRPP =agedummy )    agediff  agediff_agedummy     if age<=68&age>=52, r cluster(pid)  first
eststo

esttab, keep (NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex 

eststo clear	



***53-67
eststo clear
xi: ivreg2  marriage (NRPP =agedummy )    agediff  agediff_agedummy      if age<=67&age>=53, r cluster(pid)  first
eststo
xi: ivreg2  gender (NRPP =agedummy )    agediff  agediff_agedummy  if age<=67&age>=53, r cluster(pid)  first
eststo
xi: ivreg2  party (NRPP =agedummy )    agediff  agediff_agedummy    if age<=67&age>=53, r cluster(pid)  first
eststo
xi: ivreg2  logperincome (NRPP =agedummy )    agediff  agediff_agedummy     if age<=67&age>=53, r cluster(pid)  first
eststo

esttab, keep (NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex 

eststo clear	



****54-66

eststo clear
xi: ivreg2  marriage (NRPP =agedummy )    agediff  agediff_agedummy      if age<=66&age>=54, r cluster(pid)  first
eststo
xi: ivreg2  gender (NRPP =agedummy )    agediff  agediff_agedummy if age<=66&age>=54, r cluster(pid)  first
eststo
xi: ivreg2  party (NRPP =agedummy )    agediff  agediff_agedummy    if age<=66&age>=54, r cluster(pid)  first
eststo
xi: ivreg2  logperincome (NRPP =agedummy )    agediff  agediff_agedummy   if age<=66&age>=54, r cluster(pid)  first
eststo

esttab, keep (NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex 

eststo clear	



***55-65
eststo clear
xi: ivreg2  marriage (NRPP =agedummy )    agediff  agediff_agedummy      if age<=65&age>=55, r cluster(pid)  first
eststo
xi: ivreg2  gender (NRPP =agedummy )    agediff  agediff_agedummy  if age<=65&age>=55, r cluster(pid)  first
eststo
xi: ivreg2  party (NRPP =agedummy )    agediff  agediff_agedummy    if age<=65&age>=55, r cluster(pid)  first
eststo
xi: ivreg2  logperincome (NRPP =agedummy )    agediff  agediff_agedummy   if age<=65&age>=55, r cluster(pid)  first
eststo

esttab, keep (NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex 

eststo clear	




***56-64
eststo clear
xi: ivreg2  marriage (NRPP =agedummy )    agediff  agediff_agedummy      if age<=64&age>=56, r cluster(pid)  first
eststo
xi: ivreg2  gender (NRPP =agedummy )    agediff  agediff_agedummy  if age<=64&age>=56, r cluster(pid)  first
eststo
xi: ivreg2  party (NRPP =agedummy )    agediff  agediff_agedummy    if age<=64&age>=56, r cluster(pid)  first
eststo
xi: ivreg2  logperincome (NRPP =agedummy )    agediff  agediff_agedummy   if age<=64&age>=56, r cluster(pid)  first
eststo

esttab, keep (NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex 

eststo clear	




					 
*******************************************************************************
*** Table A7 Trust in the central and local government using CGSS 2010 data
******************************************************************************

use "CGSS2010.dta", clear

***50-70
eststo clear
ivreg2 trust_local  (NRPP1 =agedummy )    agediff  agediff_agedummy   if age<=70&age>=50, first r 					 
eststo
ivreg2 trust_central  (NRPP1 =agedummy )    agediff  agediff_agedummy   if age<=70&age>=50, first r 				 
eststo 
ivreg2 trust_cadre (NRPP1 =agedummy )    agediff  agediff_agedummy  if age<=70&age>=50, first r  
eststo 
esttab, keep(NRPP1) se(3) b(3) star(* .1 ** .05 *** .01) tex
			 
			 
			 
  
***51-69
eststo clear
ivreg2 trust_local  (NRPP1 =agedummy )    agediff  agediff_agedummy  if age<=69&age>=51, first r 				 
eststo
ivreg2 trust_central  (NRPP1 =agedummy )    agediff  agediff_agedummy  if age<=69&age>=51, first r  			 
eststo 
ivreg2 trust_cadre (NRPP1 =agedummy )    agediff  agediff_agedummy   if age<=69&age>=51, first r  
eststo 
esttab, keep(NRPP1) se(3) b(3) star(* .1 ** .05 *** .01) tex
			 
			 
			 
			  
***52-68
eststo clear
ivreg2 trust_local  (NRPP1 =agedummy )    agediff  agediff_agedummy   if age<=68&age>=52, first r 					 
eststo
ivreg2 trust_central  (NRPP1 =agedummy )    agediff  agediff_agedummy   if age<=68&age>=52, first r 				 
eststo 
ivreg2 trust_cadre (NRPP1 =agedummy )    agediff  agediff_agedummy   if age<=68&age>=52, first r  
eststo 
esttab, keep(NRPP1) se(3) b(3) star(* .1 ** .05 *** .01) tex
			 
			 
			 
			 
***53-67
eststo clear
ivreg2 trust_local  (NRPP1 =agedummy )    agediff  agediff_agedummy  if age<=67&age>=53, first r 				 
eststo
ivreg2 trust_central  (NRPP1 =agedummy )    agediff  agediff_agedummy  if age<=67&age>=53, first r  				 
eststo 
ivreg2 trust_cadre (NRPP1 =agedummy )    agediff  agediff_agedummy   if age<=67&age>=53, first r  
eststo 
esttab, keep(NRPP1) se(3) b(3) star(* .1 ** .05 *** .01) tex
			 
			 
			 
***54-66
eststo clear
ivreg2 trust_local  (NRPP1 =agedummy )    agediff  agediff_agedummy   if age<=66&age>=54, first r 				 
eststo
ivreg2 trust_central  (NRPP1 =agedummy )    agediff  agediff_agedummy   if age<=66&age>=54, first r  			 
eststo 
ivreg2 trust_cadre (NRPP1 =agedummy )    agediff  agediff_agedummy   if age<=66&age>=54, first r 
eststo 
esttab, keep(NRPP1) se(3) b(3) star(* .1 ** .05 *** .01) tex
			 

***55-65 
eststo clear
ivreg2 trust_local  (NRPP1 =agedummy )    agediff  agediff_agedummy   if age<=65&age>=55, first r 				 
eststo
ivreg2 trust_central  (NRPP1 =agedummy )    agediff  agediff_agedummy  if age<=65&age>=55, first r  				 
eststo 
ivreg2 trust_cadre (NRPP1 =agedummy )    agediff  agediff_agedummy  if age<=65&age>=55, first r  
eststo 
esttab, keep(NRPP1) se(3) b(3) star(* .1 ** .05 *** .01) tex
			 



***56-64
eststo clear
ivreg2 trust_local  (NRPP1 =agedummy )    agediff  agediff_agedummy   if age<=64&age>=56, first r 				 
eststo
ivreg2 trust_central  (NRPP1 =agedummy )    agediff  agediff_agedummy  if age<=64&age>=56, first r  				 
eststo 
ivreg2 trust_cadre (NRPP1 =agedummy )    agediff  agediff_agedummy  if age<=64&age>=56, first r  
eststo 
esttab, keep(NRPP1) se(3) b(3) star(* .1 ** .05 *** .01) tex
			 




*******************************************************************************
***Table A8, Robustness check,  poly 2, replicate table 2
******************************************************************************
use "NRPP201912.dta"
 
gen  agediff2= agediff*agediff 
gen  agedummy_agediff2=agediff*agediff*agedummy  


**poly order==2

***50-70
eststo clear	
foreach y of varlist  trustcadre1  perfm satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  agediff2  agedummy_agediff2  if age<=70&age>=50,  r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear



***51-69

foreach y of varlist  trustcadre1  perfm satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  agediff2  agedummy_agediff2  if age<=69&age>=51, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear	


***52-68

foreach y of varlist  trustcadre1  perfm satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {

 xi: ivreg2  `y' (NRPP =agedummy )     agediff  agediff_agedummy  agediff2  agedummy_agediff2  if age<=68&age>=52, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear	


***53-67

foreach y of varlist  trustcadre1  perfm satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  agediff2  agedummy_agediff2 if age<=67&age>=53, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear	



**54-66
	
foreach y of varlist trustcadre1 perfm  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {


 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  agediff2  agedummy_agediff2  if age<=66&age>=54, r cluster(pid) 
eststo
}					 

esttab,   keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear	



**55-65
	
foreach y of varlist trustcadre1 perfm  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {


 xi: ivreg2  `y' (NRPP =agedummy )   agediff  agediff_agedummy  agediff2  agedummy_agediff2  if age<=65&age>=55, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear



**56-64
	
foreach y of varlist trustcadre1 perfm  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp     {


 xi: ivreg2  `y' (NRPP =agedummy )   agediff  agediff_agedummy  agediff2  agedummy_agediff2   if age<=64&age>=56, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear




*************************************************
*****Table A9 Mechanism: Cultural Revolution, NRPP, and political attitudes
**************************************************
use "NRPP201912.dta"
 

***4
foreach y of varlist    perfm   trustcadre1  {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=64&age>=56&log_death<=2.864, r cluster(pid) 
eststo
 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=64&age>=56&log_death<=2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   if age<=64&age>=56&log_death>2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=64&age>=56&log_death>2.864, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear



***5
foreach y of varlist   perfm   trustcadre1   {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=65&age>=55&log_death<=2.864, r cluster(pid) 
eststo
 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=65&age>=55&log_death<=2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=65&age>=55&log_death>2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=65&age>=55&log_death>2.864, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear




****6
foreach y of varlist   perfm   trustcadre1    {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=66&age>=54&log_death<=2.864, r cluster(pid) 
eststo
 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=66&age>=54&log_death<=2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy     if age<=66&age>=54&log_death>2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=66&age>=54&log_death>2.864, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear


****7
foreach y of varlist  perfm   trustcadre1    {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=67&age>=53&log_death<=2.864, r cluster(pid) 
eststo
 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=67&age>=53&log_death<=2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   if age<=67&age>=53&log_death>2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov if age<=67&age>=53&log_death>2.864, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear





****8
foreach y of varlist   perfm   trustcadre1    {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy     if age<=68&age>=52&log_death<=2.864, r cluster(pid) 
eststo
 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=68&age>=52&log_death<=2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=68&age>=52&log_death>2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=68&age>=52&log_death>2.864, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear




****9
foreach y of varlist  perfm   trustcadre1    {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=69&age>=51&log_death<=2.864, r cluster(pid) 
eststo
 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov if age<=69&age>=51&log_death<=2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy     if age<=69&age>=51&log_death>2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=69&age>=51&log_death>2.864, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear




****10
foreach y of varlist   perfm   trustcadre1    {

 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy     if age<=70&age>=50&log_death<=2.864, r cluster(pid) 
eststo
 xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=70&age>=50&log_death<=2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy     if age<=70&age>=50&log_death>2.864, r cluster(pid) 
eststo
xi: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=70&age>=50&log_death>2.864, r cluster(pid) 
eststo
}					 

esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex

eststo clear






*************************************************
*****Table A10
**************************************************


***government performance

 local band 10 9 8 7 6 5 4 
foreach x of local band {
	
quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864
  predict v2hat1,residual
quietly xi: reg perfm NRPP v2hat1  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864 
est sto eq1


quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
  predict v2hat2,residual
quietly xi: reg perfm NRPP v2hat2  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
est sto eq2

quietly suest eq1 eq2, vce(cluster pid)


test [eq1_mean]NRPP=[eq2_mean]NRPP
drop v2hat1 v2hat2

eststo clear 				 
}
*


**trust in local cadres


 local band 10 9 8 7 6 5 4 
foreach x of local band {
	
quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864
  predict v2hat1,residual
quietly xi: reg trustcadre1 NRPP v2hat1  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864 
est sto eq1


quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
  predict v2hat2,residual
quietly xi: reg trustcadre1 NRPP v2hat2  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
est sto eq2

quietly suest eq1 eq2, vce(cluster pid)


test [eq1_mean]NRPP=[eq2_mean]NRPP
drop v2hat1 v2hat2

eststo clear 				 
}
*





*************************************************
*****Table A11 Mechanism: Cultural Revolution, NRPP, and individual well-being (baseline)
**************************************************


 local band 4
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  if age<=60+`x'&age>=60-`x'&log_deat>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



 local band 5 
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  if age<=60+`x'&age>=60-`x'&log_deat>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



 local band 6
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  if age<=60+`x'&age>=60-`x'&log_deat>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



 local band 7
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  if age<=60+`x'&age>=60-`x'&log_deat>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



 local band 8
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  if age<=60+`x'&age>=60-`x'&log_deat>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



 local band 9
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  if age<=60+`x'&age>=60-`x'&log_deat>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



 local band 10
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy    if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  if age<=60+`x'&age>=60-`x'&log_deat>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*





*************************************************
****Table A12 Mechanism: Cultural Revolution, NRPP, and individual well-being (county covariant + province FE)
**************************************************


 local band 4
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



 local band 5 
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov if age<=60+`x'&age>=60-`x'&log_death>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



 local band 6
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



 local band 7
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



 local band 8
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy   slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



 local band 9
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



 local band 10
foreach x of local band {
foreach y of varlist  satis logconsump  logmedical_exp  logcloth_exp logfood_exp logentertain_exp  {


quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death<=2.864, r cluster(pid) 
eststo
quietly: ivreg2  `y' (NRPP =agedummy )    agediff  agediff_agedummy slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death>2.864, r cluster(pid) 
eststo
					 
}
esttab,  keep(NRPP) se(3) b(3) star(* .1 ** .05 *** .01) tex
eststo clear
}
*



*************************************************
****Table A13
**************************************************



***life satisfaction
 local band 10 9 8 7 6 5 4 
foreach x of local band {
	
quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864
  predict v2hat1,residual
quietly xi: reg satis NRPP v2hat1  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864 
est sto eq1


quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
  predict v2hat2,residual
quietly xi: reg satis NRPP v2hat2  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
est sto eq2

quietly suest eq1 eq2, vce(cluster pid)


test [eq1_mean]NRPP=[eq2_mean]NRPP
drop v2hat1 v2hat2

eststo clear 				 
}
*


**overall consumption


 local band 10 9 8 7 6 5 4 
foreach x of local band {
	
quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864
  predict v2hat1,residual
quietly xi: reg logconsump NRPP v2hat1  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864 
est sto eq1


quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
  predict v2hat2,residual
quietly xi: reg logconsump NRPP v2hat2  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
est sto eq2

quietly suest eq1 eq2, vce(cluster pid)


test [eq1_mean]NRPP=[eq2_mean]NRPP
drop v2hat1 v2hat2

eststo clear 				 
}
*




*************************************************
****Table A14
**************************************************


**medical consumption

 local band 10 9 8 7 6 5 4 
foreach x of local band {
	
quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864
  predict v2hat1,residual
quietly xi: reg logmedical_exp NRPP v2hat1  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864 
est sto eq1


quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
  predict v2hat2,residual
quietly xi: reg logmedical_exp NRPP v2hat2  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
est sto eq2

quietly suest eq1 eq2, vce(cluster pid)


test [eq1_mean]NRPP=[eq2_mean]NRPP
drop v2hat1 v2hat2

eststo clear 				 
}
*


****food consumption


 local band 10 9 8 7 6 5 4 
foreach x of local band {
	
quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864
  predict v2hat1,residual
quietly xi: reg logfood_exp NRPP v2hat1  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864 
est sto eq1


quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
  predict v2hat2,residual
quietly xi: reg logfood_exp NRPP v2hat2  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
est sto eq2

quietly suest eq1 eq2, vce(cluster pid)


test [eq1_mean]NRPP=[eq2_mean]NRPP
drop v2hat1 v2hat2

eststo clear 				 
}
*




*************************************************
*****Table A15
**************************************************



****entertainment consumption


 local band 10 9 8 7 6 5 4 
foreach x of local band {
	
quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864
  predict v2hat1,residual
quietly xi: reg   logentertain_exp  NRPP v2hat1  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864 
est sto eq1


quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
  predict v2hat2,residual
quietly xi: reg   logentertain_exp  NRPP v2hat2  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
est sto eq2

quietly suest eq1 eq2, vce(cluster pid)


test [eq1_mean]NRPP=[eq2_mean]NRPP
drop v2hat1 v2hat2

eststo clear 				 
}
*




****clothing consumption 


 local band 10 9 8 7 6 5 4 
foreach x of local band {
	
quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864
  predict v2hat1,residual
quietly xi: reg    logcloth_exp  NRPP v2hat1  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov  if age<=60+`x'&age>=60-`x'&log_death<=2.864 
est sto eq1


quietly xi: reg NRPP agedummy  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
  predict v2hat2,residual
quietly xi: reg     logcloth_exp  NRPP v2hat2  agediff  agediff_agedummy  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov   if age<=60+`x'&age>=60-`x'&log_death>2.864
est sto eq2

quietly suest eq1 eq2, vce(cluster pid)


test [eq1_mean]NRPP=[eq2_mean]NRPP
drop v2hat1 v2hat2

eststo clear 				 
}
*




*************************************************
*****Table A16 Robustness Check: Cultural Revolution, NRPP, and political attitudes (OLS)
**************************************************



***death interact with NRPP

foreach y of varlist perfm   trustcadre1  {


xi: reg `y' death age age2 party marriage  logperincome gender   if year==2012, cluster(countycd)
eststo
xi: reg `y' death age age2 party marriage  logperincome gender   slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov if year==2012, cluster(countycd)
eststo

xi: reg `y' death NRPP  death_NRPP age age2  party marriage  logperincome gender   if year==2012, cluster(countycd)
eststo
xi: reg `y'  death NRPP death_NRPP age age2  party marriage  logperincome gender  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966 i.prov if year==2012, cluster(countycd)
eststo
}

esttab, order(death NRPP death_NRPP )  keep(death NRPP death_NRPP age age2  party marriage  logperincome gender  slope allconflict resources sulfur disaster logpop1966 revo_base pparty1966)  se(3) b(3) star(* .1 ** .05 *** .01) r2 tex
eststo clear



